package com.youmu.shop.receiver.service;

import java.util.List;

import org.apache.ibatis.annotations.Param;

import com.youmu.shop.receiver.domain.Receiver;
import com.youmu.shop.receiver.vo.AddressVo;
import com.youmu.shop.receiver.vo.AgeGroupInfo;
import com.youmu.shop.receiver.vo.ReceiverVO;

/**
 * 
 * <p>Title:ReceiverService</p>
 * @author xc
 * @version	v1.0
 * <p>Date:2017年2月6日上午11:21:49</p>
 * <p>Description:TODO</p>
 */
public interface ReceiverService {

	/**
	 * 
	 *  <p>Author:xc;</p>
	 *  <p>Date:2017年2月6日下午2:05:06;</p>
	 *	<p>Description: TODO;</p>
	 *  @param userId
	 *  @return
	 */
	List<ReceiverVO> findReceiver(Long userId,Integer isDefault,Long receiveId);

	/**
	 * 
	 *  <p>Author:xc;</p>
	 *  <p>Date:2017年2月6日下午3:19:32;</p>
	 *	<p>Description: TODO;</p>
	 *  @param receiver
	 *  @return
	 */
	long saveReceiver(Receiver receiver);

	/**
	 * 
	 *  <p>Author:xc;</p>
	 *  <p>Date:2017年2月6日下午3:37:12;</p>
	 *	<p>Description: TODO;</p>
	 *  @param receiver
	 *  @return
	 */
	void updateReceiver(Receiver receiver);

	/**
	 * 
	 *  <p>Author:xc;</p>
	 *  <p>Date:2017年2月6日下午4:02:32;</p>
	 *	<p>Description: TODO;</p>
	 *  @param id
	 */
	void deleteReceiver(Long id,Long userId);

	/**
	 * 根据省code获取市和市的code
	 * @param provinceCode
	 * @return
	 */
	List<AddressVo> getCity(Integer provinceCode);

	/**
	 * 根据市code获取区和区的code
	 * @param cityCode
	 * @return
	 */
	List<AddressVo> getDistrict(Integer cityCode);

	/**
	 * 获取所有的省code和省名称
	 * @return
	 */
	List<AddressVo> getProvince();
	
	List<AgeGroupInfo> getAgeGroup(@Param("groupId")Long groupId);


}
